@import "~bootstrap/scss/bootstrap";

$primary: #0B76DE !default;
$textColor: rgba(11, 118, 222, 1);

.bg-fff {
  background-color: #ffffff;
}

a {
  &:focus, &:hover {
    text-decoration: none;
  }
}

.box {
  width: 100%;
  height: auto;
  float: left;
  padding-left: 15px;
  padding-right: 15px;
}

body {
  background-color: rgba(248, 250, 251, 1);;
}

.focus-c-white {
  &:focus, &:hover {
    color: #ffffff;
  }
}

.top-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  width: 100%;
  height: 52px;
  float: left;
  background-color: $primary;
  padding: 12px 15px;
  line-height: 28px;

  .search-button {
    margin-right: 30px;
  }

  .avatar {
    border-radius: 14px;
  }
}

.top-menu {
  width: 100%;
  max-width: 100%;
  height: 44px;
  float: left;
  overflow-y: auto;
  padding: 15px;
  background-color: #ffffff;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;

  a {
    color: #666666;
    margin-left: 30px;

    &.active {
      color: $primary;
    }

    &.first {
      margin-left: 0px;
    }
  }
}

.swiper-box {
  width: 100%;
  height: auto;
  float: left;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 15px;
  background-color: #ffffff;
}

.index-banner-box {
  width: 100%;
  height: auto;
  float: left;
  padding-left: 15px;
  padding-right: 15px;

  .banner-title {
    width: 100%;
    height: auto;
    float: left;
    padding-top: 30px;
    padding-bottom: 10px;
    font-size: 16px;
    font-weight: 600;
    color: #333333;
    line-height: 16px;
  }
}

.courses {
  padding-top: 10px;
  padding-bottom: 10px;
  width: 100%;
  height: auto;
  float: left;

  .banner-course-item {
    display: block;
    width: 50%;
    height: 199px;
    float: left;
    padding-left: 8px;
    line-height: 1;
    margin-bottom: 15px;

    &.first {
      padding-left: 0;
      padding-right: 7px;
    }

    .course-thumb {
      width: 100%;
      height: 125px;
      float: left;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
    }

    .course-title {
      width: 100%;
      height: 44px;
      float: left;
      background-color: #ffffff;
      padding: 15px 5px;
      font-size: 14px;
      font-weight: 400;
      color: #333333;
      line-height: 14px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }

    .course-info {
      width: 100%;
      height: auto;
      float: left;
      background-color: #ffffff;
      padding-bottom: 10px;
      padding-left: 5px;
      padding-right: 5px;

      .course-category {
        display: inline-block;
        width: auto;
        height: auto;
        padding: 6px 8px 4px 8px;
        background-color: rgba(102, 102, 102, .4);
        font-size: 10px;
        font-weight: 400;
        color: #ffffff;
        border-radius: 2px;
      }

      .course-video-count {
        display: inline-block;
        height: auto;
        width: auto;
        float: right;
        font-size: 13px;
        line-height: 20px;
        font-weight: 400;
        color: #999999;
      }
    }
  }
}

.inspire {
  width: 100%;
  height: auto;
  float: left;
  font-size: 12px;
  text-align: center;
  font-weight: 400;
  color: rgba(204, 204, 204, 1);
  line-height: 70px;
}

.index-footer {
  width: 100%;
  height: auto;
  float: left;
  background: rgba(20, 14, 35, 1);
  text-align: center;
  padding-top: 30px;
  padding-bottom: 15px;

  p {
    font-size: 10px;
    font-weight: 400;
    color: rgba(255, 255, 255, .4);
    margin-bottom: 15px;

    a {
      color: rgba(255, 255, 255, .4);
    }
  }
}

.top-navbar {
  position: relative;
  width: 100%;
  height: 48px;
  float: left;
  padding-left: 10px;
  padding-right: 10px;
  background-color: #ffffff;
  line-height: 1;

  &.primary {
    background-color: $primary;
    color: #ffffff;
  }

  &.dark {
    background-color: #2C2C2C;
    color: #ffffff;
  }

  .back {
    display: inline-block;
    width: 24px;
    height: 24px;
    float: left;
    margin-top: 12px;
  }

  .title {
    position: absolute;
    z-index: 11;
    top: 16px;
    left: 50%;
    margin-left: -60px;
    width: 120px;
    height: 16px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
  }
}

.login-title {
  width: 100%;
  height: auto;
  float: left;
  padding-top: 30px;
  padding-bottom: 64px;
  font-size: 24px;
  font-weight: 500;
  color: rgba(51, 51, 51, 1);
  line-height: 1;

  small {
    font-size: 14px;
    font-weight: 400;
    color: rgba(102, 102, 102, 1);
    padding-top: 10px;
  }
}

.login-form {
  width: 100%;
  height: auto;
  float: left;

  .login-button {
    margin-top: 64px;
    width: 100%;
    height: 48px;
    background: $primary;
    border-radius: 25px;
    line-height: 38px;
    border: 0;
    margin-bottom: 100px;
    color: #ffffff;

    &:focus {
      outline: none;
    }
  }
}

.form-item {
  width: 100%;
  height: auto;
  float: left;
  margin-bottom: 10px;
  display: flex;

  .form-input-item {
    flex: 1;
    height: auto;
    border: 0;
    border-bottom: 1px solid rgba(229, 229, 229, 1);
    padding: 10px 0;
    background-color: rgba(248, 250, 251, 1);;
    font-size: 16px;
    font-weight: 400;

    &:focus {
      outline: none;
    }

    &::placeholder {
      color: rgba(204, 204, 204, 1);
    }
  }

  .image-captcha, .send-sms-captcha-box {
    width: 90px;
    height: 48px;
    padding: 10px;
    border-bottom: 1px solid rgba(229, 229, 229, 1);

    button.send-sms-captcha {
      width: 100%;
      height: 100%;
      background-color: $primary;
      color: #ffffff;
      font-size: 14px;
      border: 0;
      border-radius: 2px;

      &:focus {
        outline: none;
      }
    }
  }

  &.protocol {
    font-size: 12px;
  }
}

.socialite-login {
  width: 100%;
  height: auto;
  float: left;
}

.login-link {
  justify-content: flex-end;
  color: rgba(102, 102, 102, 1);

  a {
    color: rgba(102, 102, 102, 1);
  }
}

.member-model {
  display: none;
  position: fixed;
  z-index: 888;
  top: 52px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, .4);

  .menu-box {
    width: 100%;
    height: auto;
    float: left;
    padding: 5px 7px 20px 7px;
    background-color: #ffffff;

    .menu-item {
      display: flex;
      width: 100%;
      height: 50px;
      padding: 15px 8px;
      float: left;
      border-bottom: 1px solid rgba(229, 229, 229, 1);
      color: rgba(51, 51, 51, 1);
      font-size: 14px;
      align-content: center;

      .icon {
        margin-right: 10px;
      }

      &.vip {
        color: #D09800;
      }
    }
  }
}

.courses-menu {
  width: 100%;
  max-width: 100%;
  height: 52px;
  float: left;
  padding: 0 15px;
  background-color: $primary;
  overflow-y: auto;
  white-space: nowrap;

  .menu-item {
    display: inline-block;
    width: 56px;
    height: 52px;
    font-size: 14px;
    line-height: 52px;
    margin-right: 50px;

    a {
      color: rgba(255, 255, 255, .6);
    }

    &.active {
      a {
        color: #ffffff;
      }

      font-weight: 600;
    }
  }
}

.category-box {
  width: 100%;
  height: auto;
  float: left;
  padding: 15px 15px 0px 15px;

  .category-box-item {
    width: auto;
    height: auto;
    float: left;
    font-size: 14px;
    font-weight: 400;
    color: rgba(102, 102, 102, 1);
    line-height: 14px;
    margin-right: 30px;
    margin-bottom: 15px;

    &.active {
      color: $primary;
    }
  }
}

.search-input {
  width: 100%;
  height: auto;
  float: left;
  display: flex;
  background-color: #ffffff;
  padding: 10px 8px;
  flex-direction: row;

  .back {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-top: 2px;
  }

  .input {
    flex: 1;
    padding-left: 15px;

    .search-input-text {
      width: 100%;
      height: 32px;
      border-radius: 18px;
      border: 0;
      background-color: rgba(242, 242, 242, 1);
      padding-left: 10px;
      padding-right: 10px;

      &:focus {
        outline: none;
      }
    }
  }
}

.search-title {
  width: 100%;
  height: auto;
  float: left;
  padding: 20px 15px;
  font-size: 16px;
  font-weight: 600;
  color: rgba(51, 51, 51, 1);
  line-height: 16px;
}

.course-info-box {
  width: 100%;
  height: auto;
  padding: 15px;
  float: left;
  display: flex;
  background-color: #ffffff;

  .course-thumb {
    width: 175px;
    height: 120px;
    padding-right: 15px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }

  .course-info-desc {
    flex: 1;
    height: auto;

    .course-title {
      width: 100%;
      height: auto;
      float: left;
      font-size: 15px;
      font-weight: 600;
      color: rgba(51, 51, 51, 1);
      line-height: 18px;
      margin-bottom: 10px;
    }

    .course-short-desc {
      width: 100%;
      height: auto;
      float: left;
      font-size: 12px;
      font-weight: 400;
      color: rgba(102, 102, 102, 1);
      line-height: 16px;
      overflow: hidden;

      img {
        max-width: 100%;
      }
    }
  }
}

.course-info-menu {
  width: 100%;
  height: 52px;
  float: left;
  padding: 19px 15px;
  background-color: #ffffff;

  .menu-item {
    width: auto;
    height: 14px;
    float: left;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    margin-right: 50px;

    a {
      color: rgba(102, 102, 102, 1);
    }

    &.active {
      font-weight: 600;

      a {
        color: $primary;
      }
    }
  }

  .label {
    float: right;
    width: 64px;
    height: 24px;
    background: rgba(255, 243, 170, 1);
    border-radius: 2px;
    font-size: 12px;
    font-weight: 400;
    color: rgba(225, 165, 0, 1);
    line-height: 24px;
    text-align: center;
    margin-top: -5px;
  }
}

.course-description {
  margin-top: 10px;
  width: 100%;
  height: auto;
  float: left;
  background-color: #ffffff;
  padding: 15px;
  line-height: 1.2;
  margin-bottom: 50px;

  p {
    margin-bottom: 0;

    img {
      max-width: 100%;
    }
  }
}

.course-chapter {
  display: none;
  width: 100%;
  height: auto;
  float: left;
  margin-bottom: 50px;

  .chapter-title {
    width: 100%;
    height: auto;
    float: left;
    padding: 15px;
    font-size: 13px;
    font-weight: 400;
    color: rgba(102, 102, 102, 1);
  }

  .chapter-videos {
    width: 100%;
    height: auto;
    float: left;

    .chapter-video-item {
      width: 100%;
      height: 48px;
      padding-left: 15px;
      padding-right: 15px;
      float: left;
      display: flex;
      background-color: #ffffff;
      margin-top: 1px;

      .video-title {
        flex: 1;
        font-size: 14px;
        font-weight: 400;
        color: rgba(51, 51, 51, 1);
        line-height: 48px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
      }

      .video-label {
        display: inline-block;
        float: right;
        width: 40px;
        height: 22px;
        background: rgba(255, 64, 64, 1);
        border-radius: 2px;
        line-height: 22px;
        color: #ffffff;
        text-align: center;
        margin-top: 13px;
        font-size: 12px;
        font-weight: 400;
        color: rgba(255, 255, 255, 1);
      }

      &.active {
        .video-title {
          color: $primary;
        }
      }
    }
  }
}

.course-comment {
  display: none;
  width: 100%;
  height: auto;
  float: left;

  .comment-input-box {
    width: 100%;
    height: auto;
    float: left;
    padding: 15px 15px 0 15px;
    background-color: white;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .comment-list-box {
    width: 100%;
    height: auto;
    float: left;
    margin-bottom: 60px;

    .comment-list-item {
      display: flex;
      padding: 15px;
      background-color: white;
      margin-bottom: 10px;

      .comment-user-avatar {
        width: 59px;
        height: 44px;
        float: left;
        padding-right: 15px;

        img {
          border-radius: 50%;
        }
      }

      .comment-content-box {
        flex: 1;

        .comment-user-nickname {
          width: 100%;
          height: 20px;
          float: left;
          line-height: 20px;
          font-size: 12px;
          color: rgba(0, 0, 0, .6);
          margin-bottom: 5px;
        }

        .comment-content {
          width: 100%;
          height: auto;
          float: left;
          color: rgba(0, 0, 0, .8);
          margin-bottom: 10px;
          font-size: 14px;
          line-height: 18px;

          p {
            margin-bottom: 0;
          }
        }

        .comment-info {
          width: 100%;
          height: auto;
          float: left;
          color: rgba(0, 0, 0, .4);
          font-size: 12px;
        }
      }
    }
  }
}

.course-info-bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 88;
  height: 49px;
  line-height: 49px;
  background: rgba(11, 118, 222, 1);
  color: #ffffff;
  text-align: center;
  cursor: pointer;
}

.video-play-box {
  width: 100%;
  height: 192px;
  float: left;
  background-color: #2C2C2C;
}

#xiaoteng-player {
  width: 100%;
  height: 100%;
}

.buy-course-model {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 88;
  background-color: rgba(0, 0, 0, .6);

  .close {
    position: absolute;
    right: 0;
    top: -38px;
    width: 18px;
    height: 18px;
  }


  .buy-course-item-box {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -123px;
    margin-left: -137px;
    background-color: #ffffff;
    width: 275px;
    height: auto;
    text-align: center;
    padding: 20px 22px 10px 22px;
    border-radius: 4px;

    .title {
      font-size: 16px;
      font-weight: 500;
      color: rgba(51, 51, 51, 1);
      line-height: 16px;
      margin-bottom: 30px;
    }

    a {
      display: inline-block;
      width: 232px;
      height: 40px;
      float: left;
      margin-bottom: 20px;
      border-radius: 23px;
      border: 1px solid rgba(229, 229, 229, 1);
      font-size: 14px;
      font-weight: 400;
      color: rgba(51, 51, 51, 1);
      line-height: 40px;

      &.active {
        border: 1px solid $primary;
        color: $primary;
      }
    }
  }
}

.role-page-title, .page-title {
  width: 100%;
  height: auto;
  float: left;
  font-size: 16px;
  font-weight: 600;
  color: rgba(51, 51, 51, 1);
  line-height: 16px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.role-item-box {
  width: 100%;
  height: auto;
  float: left;

  .role-item {
    width: 47%;
    height: auto;
    float: left;
    padding: 15px;
    box-shadow: 0px 2px 4px 0px rgba(245, 245, 245, 1);
    border-radius: 2px;
    margin-bottom: 15px;
    border: 1px solid #ffffff;
    margin-left: 3%;
    background-color: #ffffff;

    &.active {
      border: 1px solid rgba(225, 165, 0, 1);
      background: rgba(255, 237, 237, 1);
    }

    &.first {
      margin-left: 0;
      width: 50%;
    }

    .name {
      width: 100%;
      height: auto;
      float: left;
      font-size: 14px;
      font-weight: 600;
      color: rgba(225, 165, 0, 1);
      line-height: 14px;
      margin-bottom: 20px;
    }

    .price {
      width: 100%;
      height: auto;
      float: left;
      font-size: 28px;
      font-weight: 600;
      color: rgba(51, 51, 51, 1);
      line-height: 24px;
      margin-bottom: 15px;

      small {
        font-size: 18px;
      }
    }

    .desc {
      width: 100%;
      height: auto;
      float: left;
      font-size: 12px;
      font-weight: 400;
      color: rgba(102, 102, 102, 1);
      line-height: 18px;

      p {
        margin-bottom: 0px;
      }
    }
  }
}

.role-subscribe-button {
  display: block;
  position: fixed;
  bottom: 0;
  z-index: 88;
  width: 100%;
  height: 49px;
  line-height: 49px;
  text-align: center;
  background: rgba(225, 165, 0, 1);
  font-size: 16px;
  font-weight: 500;
  color: rgba(255, 255, 255, 1);
  cursor: pointer;

  &:focus {
    color: #ffffff;
  }
}

.goods-info-box {
  width: 100%;
  height: auto;
  float: left;
  display: flex;

  .goods-thumb {
    width: 165px;
    height: 125px;
    margin-right: 20px;
  }

  .goods-info {
    flex: 1;
    height: auto;

    .title {
      width: 100%;
      height: auto;
      float: left;
      padding-top: 10px;
      font-size: 15px;
      font-weight: 600;
      color: rgba(51, 51, 51, 1);
      line-height: 15px;
      margin-bottom: 30px;
    }

    .goods-labels {
      width: 100%;
      height: auto;
      float: left;

      span.label {
        display: inline-block;
        width: 64px;
        height: 24px;
        float: left;
        border-radius: 2px;
        border: 1px solid rgba(255, 39, 39, 1);
        text-align: center;
        font-size: 12px;
        font-weight: 400;
        color: rgba(255, 39, 39, 1);
        line-height: 24px;
      }
    }
  }
}

.promo-code {
  width: 100%;
  height: auto;
  float: left;

  .title {
    width: 100%;
    height: auto;
    float: left;
    font-size: 16px;
    font-weight: 600;
    color: rgba(51, 51, 51, 1);
    line-height: 16px;
    padding-top: 20px;
    padding-bottom: 20px;

    small {
      color: rgba(51, 51, 51, .7);
    }
  }

  .input {
    .promo-code-input {
      width: 165px;
      height: 36px;
      float: left;
      border-radius: 2px;
      border: 1px solid rgba(204, 204, 204, 1);
      margin-right: 15px;

      &:focus {
        outline: none;
      }
    }

    .promo-code-check-button {
      display: inline-block;
      width: 60px;
      height: 28px;
      background: rgba(11, 118, 222, 1);
      border-radius: 18px;
      font-size: 14px;
      font-weight: 600;
      color: rgba(255, 255, 255, 1);
      line-height: 28px;
      margin-top: 4px;
      text-align: center;
      margin-right: 10px;
    }
  }

  .promo-code-info {
    width: 100%;
    height: auto;
    margin-top: 15px;
    font-size: 12px;
    font-weight: 400;
    color: rgba(255, 64, 64, 1);
    line-height: 36px;
  }
}

.payments {
  width: 100%;
  height: auto;
  float: left;

  .payments-item {
    width: 100%;
    height: auto;
    float: left;

    .payment-item {
      display: inline-block;
      width: 108px;
      height: 72px;
      float: left;
      background: rgba(255, 255, 255, 1);
      box-shadow: 0px 2px 4px 0px rgba(245, 245, 245, 1);
      border-radius: 2px;
      border: 1px solid #ffffff;
      margin-right: 8px;
      text-align: center;
      line-height: 72px;
      cursor: pointer;
      margin-bottom: 8px;

      &.active {
        border: 1px solid rgba(255, 39, 39, 1);
      }
    }
  }
}

.pay-button-box {
  position: fixed;
  bottom: 0;
  z-index: 88;
  width: 100%;
  height: 97px;

  .pay-info {
    width: 100%;
    height: 48px;
    float: left;
    background-color: #ffffff;
    padding-left: 15px;
    padding-right: 15px;

    .promo-code-price {
      display: inline-block;
      float: left;
      font-size: 12px;
      font-weight: 400;
      color: rgba(255, 32, 32, 1);
      line-height: 48px;
    }

    .price {
      display: inline-block;
      float: right;
      font-size: 18px;
      font-weight: 600;
      color: rgba(255, 32, 32, 1);
      line-height: 48px;
    }
  }

  .pay-button {
    display: block;
    width: 100%;
    height: 49px;
    float: left;
    background-color: $primary;
    color: #ffffff;
    text-align: center;
    line-height: 49px;

    &:focus {
      color: #ffffff;
    }
  }
}

.hand-pay-content {
  img {
    max-width: 100%;
  }
}

.videos {
  width: 100%;
  height: auto;
  float: left;

  .course-title {
    width: 100%;
    height: auto;
    float: left;
    padding: 30px 15px 15px 15px;
    font-size: 13px;
    font-weight: 400;
    color: rgba(102, 102, 102, 1);
    line-height: 1;
  }

  .videos-box {
    width: 100%;
    height: auto;
    float: left;

    .video-item {
      display: inline-block;
      width: 100%;
      height: auto;
      padding: 0px 15px;
      float: left;
      background-color: #ffffff;
      font-size: 14px;
      font-weight: 400;
      color: rgba(51, 51, 51, 1);
      line-height: 48px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
  }
}

.my-orders {
  width: 100%;
  height: auto;
  float: none;

  .order-item {
    width: 100%;
    height: auto;
    float: left;
    background-color: #ffffff;
    padding: 20px 15px;
    margin-top: 10px;
    margin-bottom: 10px;

    .goods-title {
      width: 100%;
      height: auto;
      float: left;
      font-size: 14px;
      font-weight: 600;
      color: rgba(51, 51, 51, 1);
      line-height: 1;
      margin-bottom: 15px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }

    .goods {
      width: 100%;
      height: auto;
      float: left;
      line-height: 1;
      margin-bottom: 15px;

      .goods-status {
        float: left;
        font-size: 14px;
        font-weight: 400;
        color: rgba(102, 102, 102, 1);
        line-height: 14px;
      }

      .goods-charge {
        float: right;
        font-size: 14px;
        font-weight: 400;
        color: rgba(51, 51, 51, 1);
        line-height: 14px;
      }
    }

    .info {
      width: 100%;
      height: auto;
      float: left;

      .payment {
        float: left;
        font-size: 12px;
        font-weight: 400;
        color: rgba(153, 153, 153, 1);
        line-height: 12px;
      }

      .date {
        float: right;
        font-size: 12px;
        font-weight: 400;
        color: rgba(153, 153, 153, 1);
        line-height: 12px;
      }
    }
  }
}